package com.hbnu.common.constant;

/**
 * 数据库错误码常量类
 * 目前仅支持 MySQL
 */
public final class DatabaseErrorCode {
    private DatabaseErrorCode() {}

    /**
     * 唯一键冲突
     * 当尝试插入或更新数据导致违反唯一约束时抛出此错误。
     */
    public static final int MYSQL_DUPLICATE_ENTRY = 1062;

    /**
     * 主键冲突
     * 当尝试插入重复的主键值时抛出此错误。
     * 错误信息通常为 "Duplicate entry '...' for key 'PRIMARY'"
     */
    public static final int MYSQL_DUPLICATE_KEY_PRIMARY = 1062;

    /**
     * 外键约束冲突
     * 当尝试删除或更新一个被其他表作为外键引用的数据时抛出。
     */
    public static final int MYSQL_FOREIGN_KEY_CONSTRAINT = 1451;

    /**
     * 数据截断
     * 当插入的数据超出了字段定义的长度或类型范围时抛出。
     */
    public static final int MYSQL_DATA_TRUNCATED = 1265;
}
